<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE>PureBasic︰ 本机编译器，简单且已优化的BASIC 编程语言</TITLE>

  <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  <meta name="google-site-verification" content="zti3YNYE1fvfAUZxJmB9tv_1gYEBNbl2fapbpBeJxa4" />

        <META NAME="language" content="en">
      <META HTTP-EQUIV="Content-Language" content="en">

  <META NAME="Description" CONTENT="PureBasic.CN 官方网站. PureBasic - 体验纯粹的强大. PureBasic 是一个基于BASIC规定的编程语言">
  <META NAME="abstract" CONTENT="PureBasic.CN 官方网站. PureBasic - 体验纯粹的强大. PureBasic 是一个基于BASIC规定的编程语言">
  <META NAME="Keywords" CONTENT="purebasic,PUREBASIC,pure basic,PURE BASIC,basic,BASIC,compiler,COMPILER,language,LANGUAGE,programming,PROGRAMMING,optimized,OPTIMIZED,easy,EASY,programming language,basic编程语言,basic compiler,BASIC COMPILER,visual basic 编译器,简易编程语言,高度优化编程语言, games, 应用程序, 游戏, 应用, buy, ordering, 订单, Fantaisie Software,pic basic 编译器,c 编译器,c++ 编译器,编译器,qbasic 编译器,asm,计算机 编程,c 编程,游戏编程,编程语言,c,c++,java,visual c++,linux,windows,nt,VisualC++,LccWin32,VisualBasic,visual basic">
  <META NAME="Identifier-URL" CONTENT="http://www.purebasic.cn">
  <META NAME="Robots" CONTENT="index,follow,all">
  <META NAME="revisit-after" CONTENT="2 days">
  <META NAME="Reply-to" CONTENT="100860505@qq.com">
  <META NAME="Author" CONTENT="purebasic (webmaster@purebasic.com), Frederic Laboureur, Frédéric Laboureur, Yann Vanlerberghe, Alphasnd, Alphasound, Fantaisie Software,PureBasic.CN ,麦壳饼,MysticBoy ">
  <META NAME="publisher" content="PureBasic.CN">
  <META NAME="copyright" content="PureBasic.CN">
  <META NAME="rating" content="常规">
  <META NAME="distribution" content="global">
  <META NAME="Category" CONTENT="软件,计算机,编程,编译器,语言,basic">
  <META NAME="date-creation-yyyymmdd" content="20000909">

  <STYLE type="text/css">

    .pagebody
    {
      font-family: Verdana, sans-serif; font-size: 13px;
      line-height: 1.5;
      color: #000000;
    }

    .pagefooter
    {
      font-family: Verdana, sans-serif; font-size: 11px;
      color: #FFFFFF;
    }

    .usercomments
    {
      font-family: Verdana, sans-serif; font-size: 13px;
      line-height: 1.5;
      color: #EFF1F0;
    }

    A.nav:link {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none }
    A.nav:visited {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none}
    A.nav:hover {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: underline}

    A.nav_footer:link {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none }
    A.nav_footer:visited {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: none}
    A.nav_footer:hover {font-family: Verdana, sans-serif; font-size: 11px; line-height: 1.5; COLOR: #000000; TEXT-DECORATION: underline}

    
    .keywords {font-size: 13px; font-weight: normal; font-family: Verdana, sans-serif; line-height: 1.5; }
    .keywordsbold {font-family: Verdana, sans-serif; font-size: 13px; line-height: 1.5; }

    INPUT
    {
      font: 10pt Verdana, Arial;
      color : #000000;
      background-color : #FFFFFF;
    }

    .textform
    {
      font-size: 10pt;
      color: #000000;
      font-family: Verdana, Arial;
    }
    
    /* These 2 styles are needed to have a perfect rendering of tables border (solid color) on
       IE and FireFox
     */
    table.MainTable
    {
      border:2px solid #5A6986;
    }    

    td.Tabs
    {
      border-bottom:2px solid #5A6986;
    }

    /* Here is our trick to remove a line of a TD
     */
    /*.topborder {
    border-top: 1px solid #EFF1F0;
    }*/

    img.flagBorder {
      border: 0px solid #CCCCCC;
    }
    
    tr.ShadowBody
    {
      height:8px;
      background: url(/images/shadow_bottom_body.png);
      background-repeat: repeat-x;
    }

    tr.ShadowFooter
    {
      height:8px;
      background: url(/images/shadow_bottom_footer.png);
      background-repeat: repeat-x;
    }

  </STYLE>

  
  
  
</HEAD><!-- HEADER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


<BODY bgColor="White">

<table width="900" class="MainTable" border="0" cellspacing="0" cellpadding="0" align="center" id="language">
    <TR bgColor="#999999" id="basic">
        <td colspan="2" align="left" nowrap bgcolor="#5A6986" id="visual">
            <table width=100% border="0" cellpadding="0" cellspacing="0" id="compiler">
                <tr>
                    <td rowspan="2" id="compiler">
                      <IMG id="visual" name="basic" alt="Pure Basic : 已优化的BASIC编译器" border=0 height=68 src="images/logopb.gif" width=381>
                    </td>

                    <td valign="top" id="basic"><div align="right" id="compiler"><font class="pagebody" color="#FFFFFF">
                      
                      <table border="0" cellspacing="0" cellpadding="1">
                        <tr><!-- <td width=20 > <A class="nav" style="COLOR: #FFFFFF" href="/german/news64.php"><img class="flagBorder" src=/images/de.png ></a></td> -->
                           
                          <td> <A class="nav" style="COLOR: #FFFFFF" href="german/news64.htm">英语</a>&nbsp;&nbsp;</td>
                        </tr>
                        <tr><!-- <td width=20> <A class="nav" style="COLOR: #FFFFFF" href="/french/news64.php"><img class="flagBorder" src=/images/fr.png ></a></td> -->
                           
                          <td> <A class="nav" style="COLOR: #FFFFFF" href="french/news64.htm">法语</a>&nbsp;&nbsp;</td>
                        </tr>
                      </table>

                    </font></div></td>
                </tr>
                <tr>
                  <td width="100%" height="46"></td>
                </tr>
            </table>
        </td>
    </TR>
    <TR>
    <TD class="Tabs" colspan="2">
         <TABLE width="100%" border="0" cellspacing="0" cellpadding="0" id="language">
             <TR id="optimized">

            <td width="15%" height="26" align="center" bgcolor= "#FFFFFF" id="easy"><A class="nav" href="index.htm" title="Pure Basic : 简介">简介</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#B6C0CE" id="basic"><A class="nav" href="news.htm" title="Pure Basic : 新闻">新闻</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="optimized"><A class="nav" href="download.htm" title="Pure Basic : 下载">下载</font></a></td>
            <td width="1" bgcolor="#999999" id="visual"><IMG id="visual" name="basic" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="basic"><A class="nav" href="screenshots.htm" title="Pure Basic : 截图">截图</a></td>
            <td width="1" bgcolor="#999999" id="optimized"><IMG id="programming" name="language" alt="已优化的编程语言" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="basic"><A class="nav" href="ordering.htm" title="Pure Basic : 订购 !">订购</a></td>
            <td width="1" bgcolor="#999999" id="compiler"><IMG id="basic" name="compiler" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor= "#FFFFFF" id="compiler"><A class="nav" href="support.htm" title="Pure Basic : 支持">支持</a></td>
            <td width="1" bgcolor="#999999" id="language"><IMG id="programming" name="language" alt="visual basic 编译器" height=1 src="images/spacer.gif" width=1></td>

            <td width="10%" height="21" align="center" bgcolor= "#FFFFFF" id="optimized"><A class="nav" href="faq.htm" title="Pure Basic : FAQ">FAQ</a></td>
            <td width="1" bgcolor="#999999" id="optimized"><IMG id="programming" name="language" alt="已优化的编程语言" height=1 src="images/spacer.gif" width=1></td>

            <td width="13%" height="21" align="center" bgcolor = "#FFFFFF" id="basic"><A class="nav" href="links.htm" title="Pure Basic : 链接">链接</a></td>

                </TR>
            </TABLE>
        </TD>
    </TR>

    <tr class="ShadowBody"> <td colspan="2"></td> </tr><tr>

    </tr><TR bgcolor="#EFF1F0">
      <TD class="topborder" colspan="2" align="center" valign="top" id="visual">
        <br>
         <TABLE width="850" border="0" cellspacing="0" cellpadding="0" id="programming">
            <TR id="basic"><!-- EOF HEADER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


<TD valign="top" id="easy"><font class="pagebody">
  <div align="left" id="language">
    
  <b id="optimized">14th February 2013</b><br id="programming">
  <br id="language">
  <br id="visual">
  <b id="basic">PureBasic 5.10 (all OS)</b>
  <br id="compilers">
  <br>

- Added: Form designer is now integrated to the IDE ! <br>
- Added: Fully reworked Packer library with ZIP, BriefLZ, 7z (unpacker only), LZMA and JCALG1. <br>
- Added: full IPv6 support to the network library. <br>
- Added: System library: ComputerName(), UserName(), MemoryStatus(), CountCPUs() <br>
- Added: Line continuation feature, with the following operands: ',' '|' '+' And Or Xor <br>
- Added: Constant string comparisons are now handled at compile time, allowing use in CompilerIf for example. <br>
- Added: CocoaMessage() for OS X <br>
- Added: 'Check syntax' to only compile the code without build/running an executable <br>
- Added: Array/List/Map parameter support to Interface methods <br>
- Added: Support for dynamic array/list/map support in structure/interface in Residents. <br>
- Added: #PB_Character, #PB_Unicode, #PB_Ascii and #PB_Integer flag support to FillMemory() <br>
- Added: #PB_RegularExpression_NoCase support to CreateRegularExpression() <br>
- Added: EncodeImage() with PNG, JPEG and JPEG2000 support <br>
- Added: #PB_Memory_NoClear support to Re/AllocateMemory() <br>
- Added: ImageFormat() <br>
- Added: #PB_Editor_WordWrap to EditorGadget() <br>
- Added: Multicharacter comparison in StringField() <br> 
- Added: NbOccurrences parameter for ReplaceString() <br>
- Added: PostEvent(), EventData() <br>
- Added: return value to SetCurrentDirectory() <br>
- Added: #PB_String_NoCase mode parameter to FindString() <br>
- Added: #PB_Preference_NoSpace and #PB_Preference_GroupSeparator flags for preferences <br>
- Added: DatabaseColumnIndex() <br>
- Added: #PB_Cipher_URL and #PB_Cipher_NoPadding for Base64Encoder() <br>
- Added: URL compatibility to Base64Decoder() <br>
- Added: SetGadgetItemImage() for all gadget supporting item gadget image <br>
- Added: #PB_Gadget_ScreenCoordinate and #PB_Gadget_WindowCoordinate flag for GadgetX/Y() <br>
- Added: #PB_File_SharedRead (no effect on Linux/OSX), #PB_File_SharedWrite (no effect on Linux/OSX) <br>
- Added: #PB_File_Append and #PB_File_NoBuffering for OpenFile(), ReadFile() and CreateFile() <br>
- Added: #PB_Event_RightClick, #PB_Event_LeftClick and #PB_Event_LeftDoubleClick events <br>
- Added: Optional title parameter to OpenConsole() <br>
- Added: #PB_ScrollArea_ScrollStep added for ScrollAreaGadget() <br>
- Added: #PB_Ignore for ResizeImage() <br>
- Added: Bind a specific IP to CreateNetworkServer() <br>
- Added: Timeout, LocalIP$ and LocalPort parameter to OpenNetworkConnection() <br>
- Added: #PB_NetworkEvent_Disconnect support for NetworkClientEvent() <br>
- Added: #PB_Unicode, #PB_Ascii and #PB_UTF8 support to SendNetworkString() <br>
- Added: #PB_String_MaximumLength attribute for StringGadget() <br>
- Added: #PB_Event_DeactivateWindow support <br>
- Added: #PB_EventType_Change support for EditorGadget() <br>
- Added: #PB_Relative/#PB_Absolute flag for FileSeek() <br>
- Added: 'Offset' and 'Length' parameters to SHA1/MD5/CRC32FileFingerprint() <br>
- Added: GetSoundPosition(), SetSoundPosition(), SoundLength(), PauseSound(), ResumeSound() <br>
- Added: SoundStatus(), GetSoundFrequency() <br>
- Added: #PB_All support for SoundVolume() <br>
- Added: SetGadgetItemState() support for ExplorerListGadget() <br>
- Added: InputRequester add close <br>
- Added: InputRequester() added #PB_InputRequester_Password flag <br>
- Added: Random() added optional minimum value <br>
- Added: SetGadgetItemText() for ListIconGadget(): handling of chr(10) as in AddGadgetItem() <br>
- Added: made OpenWindowedScreen() stretch parameters optional <br>
- Added: ScreenWidth(), ScreenHeight(), ScreenDepth() <br>
- Added: SMTP AUTH support to mail library <br>
- Added: optional parameters to RemoveMailRecipient(), ability to remove all recipients <br>
- Added: ReadString(#File [, Flags [, Length]]) : length and #PB_File_IgnoreEOL support <br>
- Added: #PB_Window_InnerCoordinate support to WindowX/Y() <br>
- Added: #PB_Window_FrameCoordinate support to WindowWidth()/Height() <br>
- Added: #PB_Image_Raised support to ImageGadget() <br>
- Added: Support for FreeXXX(#PB_All) for all free commands <br>
- Added: #PB_Compiler_LineNumbering, #PB_Compiler_InlineAssembly, #PB_Compiler_EnableExplicit <br>
- Added: #PB_Compiler_ExecutableFormat, #PB_Compiler_IsIncludeFile <br>
- Added: #PB_Compiler_IsMainFile, #PB_Compiler_Filename <br>
- Added: Bool() compiler operator. Boolean operations are now forbidden without Bool(). <br>
- Added: MacroExpandedCount internal keyword <br>
- Added: UndefineMacro <br>
- Added: Now XIncludeFile also take in account the main file, to avoid double inclusion <br>
- Added: TypeOf() for variable, structure and fields <br>
- Added: Defined(Label, #PB_Label) support <br>
- Added: CompilerElseIf <br>
- Added: Local labels <br>
- Added: Define now behave like Global and accept Dim(), NewMap() and NewList() on the same line <br>
- Added: 'Align' keyword support for structure, with a special #PB_Structure_AlignC value <br>
- Added: autocast of numeric values when string are involved, allowing to concatenate string and numeric in constants <br>
- Added: 'CONSTANTLIST' to Compiler interface <br>
- Added: editing history recording in the IDE to recover previous code states and for crash recovery <br>
- Added: AffectedDatabaseRows(), CheckDatabaseNull() to database library <br>
- Added: new Text3D library <br>
- Added: 'Mode' optional parameter to all ...Yaw/Roll/Pitch() functions <br>
- Added: 'Type' and 'Mode' optional parameter to CreateMesh() <br>
- Added: RayCast(), MouseRayCast(), NormalX(), NormalY(), NormalZ(), ScaleNode() <br>
- Added: UpdateMesh(), EnableManualEntityBoneControl(), MoveEntityBone(), RotateEntityBone(), MeshIndex() <br>
- Added: 'Type' optional parameter to AddSubMesh() <br>
- Added: 'Type' parameter to FinishMesh() <br>
- Added: GetMaterialColor(), GetMaterialAttribute(), ConvertLocalToWorldPosition(), ConvertWorldToLocalPosition() <br>
- Added: MaterialCullingMode(), FetchOrientation(), SetOrientation(), GetX(), GetY(), GetZ(), GetW(), GetLightColor() <br>
- Added: AttachEntityObject(): bone name can be empty, so the object is added directly to the entity <br>
<br>
- Changed: renamed SoundFrequency() to SetSoundFrequency() <br>
- Changed: renamed AddMeshVertex() to MeshVertexPosition() <br>
- Changed: renamed LightColor() to SetLightColor() <br>
- Changed: removed all MaterialXXXXColor() replaced by SetMaterialColor() <br>
- Changed: removed all XXXXLocate() replaced by #PB_Absolute flag for MoveXXXX() commands <br>
- Changed: removed ResizeEntity(), replaced by #PB_Absolute flag for ScaleEntity() command, same for ScaleNode() <br>
- Changed: replaced #PB_Sort_<Type> with #PB_<Type> to avoid possible errors <br>
- Changed: disallow native type for pointers <br>
- Changed: StrF/D(), trailing zeros are now automatically removed if no decimals are specified <br>
<br>
- Updated: OGRE core has been updated to 1.8.2 <br>
- Updated: SQLite updated to 3.7.15.2 <br>
- Updated: User-guide: new chapters about dynamic numbering and handling multiple windows added by spikey <br>
<br>
- Removed: SendNetworkFile(), ReceiveNetworkFile(), #PB_NetworkEvent_File to avoid possible security hole <br>
- Removed: DirectX7 and NT4 subsystem on Windows <br>
- Removed: SDL subsystem on Linux <br>
- Removed: PowerPC version for OS X <br>
<br>
- Optimized: FindString() is up to twice as fast <br>
<br>
- Fixed: Many bugs <br>

  </div>
</TD><!-- FOOTER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->


                </TR>
            </TABLE>
            <br>
        </td>
    </TR>
    <TR height="28" id="easy">
      <TD align="left" bgcolor="#5A6986" id="language">
        <font class="pagefooter">&nbsp;&nbsp;Copyright © 2016 PureBasic.CN </font>
      </TD>
      <TD align="right" bgcolor="#5A6986" id="compiler">
        <font class="pagefooter"><b><A class="nav_footer" href="mailto:100860505@qq.com" style="COLOR: #FFFFFF" title="Pure Basic : 中文支持">100860505@qq.com</A></b>&nbsp;&nbsp;</font>
      </TD>
    </TR>
</TABLE>

<table width="770" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr class="ShadowFooter"> <td colspan="2"></td> </tr><tr>
</tr></table>


<br>

<table class="MainTable" id="language" align="center" border="0" cellpadding="0" cellspacing="0" width="900">
	<tr bgcolor="#EFF1F0">
		<td class="topborder" align="center" valign="top">
			<br>
			<table align="center" border="0" cellpadding="0" cellspacing="0" width="850">
				<tr>
					<td bgcolor="#FFFFFF" valign="middle"><a title="BASIC编程网络语言" href="http://www.spiderbasic.cn" target="_blank"><img src="logo-spiderbasic.png"></a></td>
					<td bgcolor="#FFFFFF">
						<div class="pagebody" align="center">
							相同的作者,探索新的WEB前端编程语言<br>基于BASIC准则 详情点击<a title="BASIC编程网络语言" href="http://www.spiderbasic.cn" target="_blank">spiderbasic.cn</a>
						</div>
					</td>
				</tr>
			</table>
			<br>
		</td>
	</tr>
	
</table>
<br>

</BODY>
</HTML><!-- EOF FOOTER purebasic : an easy programming language, an optimized programming language, a visual basic compiler -->

    
